package com.itm.excel.modelo;

import java.util.LinkedHashMap;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.stereotype.Component;

@Component
public class LibroExcel {
	
	private HSSFWorkbook excel;
	private	LinkedHashMap<String, Object> tablaDatos;
	private HSSFFont estiloFuenteTexto;
	private HSSFFont estiloFuenteCabecera;
	private HSSFCellStyle estiloCeldaTexto;
	private HSSFCellStyle estiloCeldaCabecera;
	
	public LibroExcel() {
		this.excel = new HSSFWorkbook();
		this.tablaDatos = new LinkedHashMap<String, Object>();
		this.estiloFuenteTexto = excel.createFont();
		this.estiloFuenteCabecera = excel.createFont();
		this.estiloCeldaTexto = excel.createCellStyle();
		this.estiloCeldaCabecera = excel.createCellStyle();
	}

	public LibroExcel(HSSFWorkbook excel) {
		this.excel = excel;
		this.tablaDatos = new LinkedHashMap<String, Object>();
		this.estiloFuenteTexto = excel.createFont();
		this.estiloFuenteCabecera = excel.createFont();
		this.estiloCeldaTexto = excel.createCellStyle();
		this.estiloCeldaCabecera = excel.createCellStyle();
	}
	
	public HSSFWorkbook getExcel() {
		return excel;
	}

	public void setExcel(HSSFWorkbook excel) {
		this.excel = excel;
	}

	public LinkedHashMap<String, Object> getTablaDatos() {
		return tablaDatos;
	}

	public void setTablaDatos(LinkedHashMap<String, Object> tablaDatos) {
		this.tablaDatos = tablaDatos;
	}
	
	public HSSFFont getEstiloFuenteTexto() {
		return estiloFuenteTexto;
	}

	public void setEstiloFuenteTexto(HSSFFont estiloFuenteTexto) {
		this.estiloFuenteTexto = estiloFuenteTexto;
	}

	public HSSFFont getEstiloFuenteCabecera() {
		return estiloFuenteCabecera;
	}

	public void setEstiloFuenteCabecera(HSSFFont estiloFuenteCabecera) {
		this.estiloFuenteCabecera = estiloFuenteCabecera;
	}

	public HSSFCellStyle getEstiloCeldaTexto() {
		return estiloCeldaTexto;
	}

	public void setEstiloCeldaTexto(HSSFCellStyle estiloCeldaTexto) {
		this.estiloCeldaTexto = estiloCeldaTexto;
	}

	public HSSFCellStyle getEstiloCeldaCabecera() {
		return estiloCeldaCabecera;
	}

	public void setEstiloCeldaCabecera(HSSFCellStyle estiloCeldaCabecera) {
		this.estiloCeldaCabecera = estiloCeldaCabecera;
	}
}
